Program Switcher is a useful little control that allows you to switch between the running programs on your System 7 or greater Mac via simple two-key keystroke. This feature was inspired by the same Windows functionality, but I have improved on it and made an unique and fully configurable control panel which makes switching applications on the Macintosh as simple as pressing a key.
Instructions
Program Switcher requires System 7 or greater. To install it, just drag the control panel to your system folder icon and "drop." Restart your computer. To use, hold down the activating key (by default, the option key) and then tap the switching key (tab key). A window will appear displaying the next program running on your Macintosh. While still holding the activating key (option key) down, tapping the switching key (tab key) again shows the program after that. When the program you want to switch to is currently being displayed by Program Switcher, let go of the activating key (option key) and that program will be brought to the front. During the switching process, you may see the previous application displayed by tapping the shift key while still holding down the activating key.
To customize your settings, open the Program Switcher control panel itself. You will see that there are several options that you may use to customize Program Switcher’s performance with. They are:
Control Keys: Under this option are two pop-up menus, one titled “Activator” and the other “Switcher.” With these menus, you can set the activating and switching keys (respectively).
Hide Other Applications: Checking this check box causes Program Switcher to hide all other applications after an application switch has been performed. This is only active if Program Switcher performs the switch.
Exclude Certain Applications: Checking this check box allows Program Switcher to exclude certain applications from being displayed during the switching process. You must specify the applications you wish Program Switcher to exclude. This option is useful if you have some applications that always run but you may not want to switch to that often (for example, Before Dark). Leave this option unchecked to make Program Switcher display all running applications always.
Set Applications…: Clicking this button brings up a dialog in which you may specify the applications for Program Switcher to exclude if the Exclude Certain Applications option is checked.
Set Display Window Attributes…: Clicking this button brings up a dialog in which you may customize the appearance of the window that Program Switcher displays when the switching process is taking place. You may set the font and font size that Program Switcher uses to write the application name with, the specific type of window that Program Switcher displays, and the background color of the window.
I have paid my shareware fee!: Check this checkbox only after you have paid your shareware fee.
Program Switcher always displays the last program that you were working in first when starting the switching process. If that application is no longer running, then Program Switcher displays the first application in the System’s applications menu.
Program Switcher is “fat.” The patches it makes to the MacOS are made in either 68000 or Power PC code, depending on the machine it is running on. If Program Switcher is running on a Power PC, it’s start up icon will be modified with small red triangles.
Shareware Information
Program Switcher is not free. If you use Program Switcher for more than one week, you must pay the US$10 registration fee. You may do this by using the enclosed Register application. Be sure to follow Register’s instructions carefully.
Site licensing and customizations are available. The Register program has two options for site licenses: Regular and "World Wide". If you want to get a site license that allows your employees (or students, if you are a school) to install Program Switcher on their personal computers, you must get a "World Wide" license.
Custom about boxes are available for either type of site license. Please arrange this in advance.
If you are on CompuServe, you can register Program Switcher online. Type GO SWREG for more information. Program Switcher's registration code is 6209. CompuServe only allows single user license registrations.
You may freely distribute Program Switcher as long as this package is kept fully intact and no modifications or additions are made. Companies who distribute shareware for profit by charging for the media that they distribute it on must contact me prior to including Program Switcher in their product and obtain permission.
Pacific HiTech is already granted permission to distribute Program Switcher because they are responsible in making their customers realize exactly what they did buy (the CD-ROM) and what they did not buy. They are also diligent in sending authors complimentary CDs containing their works. If you want to support shareware, also support the companies who themselves support the shareware ideal.
Contacting the Author
You may contact me through e-mail at:
mailto:kamprath@kagi.com
mailto:kamprat@leonardo.net
WARRANTY
USE OF THIS PRODUCT, PROGRAM SWITCHER, IMPLIES THAT YOU WILL HOLD MICHAEL F. KAMPRATH HARMLESS TO ANY DAMAGES CAUSED BY THE PERFORMANCE OF THIS PRODUCT. YOU ALSO AGREE THAT MICHAEL F. KAMPRATH CAN NOT BE HELD LIABLE FOR ANY OTHER DAMAGES YOU MAY INCUR BY THE USE OF THIS PRODUCT. MICHAEL F. KAMPRATH PROVIDES NO WARRANTY, WHETHER EXPRESSED OR IMPLIED, OF THIS PRODUCT, INCLUDING IT’S MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
"Windows" is a trademark of that company run by Bill Gates.
Known Problems
For some reason, Program Switcher does not get the key down events when some Microsoft products are the front process (most notably, Excel). I don’t understand why and can only speculate that Microsoft products override the MacOS by having their own method of handling events. For some reason, that doesn’t surprise me to much. You can, though, us Program Switcher to switch to a Microsoft product from any other process. Once I figure out exactly what they are doing, I’ll try to fix this. If you have any insights, I’m all ears (or, in the case of e-mail, “eyes”).
History
v1.0.0: 3 October 1994: Initial Release. Cool.
v1.0.1: 15 October 1994: Started to address the problems OTPS has with DAs. Their icons now display when opt-tabbing, but you still can't opt-tab out of a DA. I'm working on this, but I don't have much time to address it right now.
v1.5.0: 5 January 1995: Improved the code so that it now works with DAs properly! I also produced a Power PC version.
v1.5.1: 7 January 1995: Fixed a problem that caused periodic crashes when one of the serial ports was in use (for you programmers, I was allocating memory at interrupt time -- BAD).
v1.5.2: 17 January 1995: First another memory problem plus made the key sequence customizable. Changed the name from "Option Tab Program Switcher" to "Program Switcher" to reflect this.
v2.0.0: 1 February 1995: Turned Program Switcher in a CDEV and added application hiding option. Added "remember last application" to code. Optimized code. Added a preference file.
v2.0.1: 7 February 1995: Fixed a nasty bug that caused alot of people to be unable to soft shutdown their computer. I sincerely apologize for turning the public at large into a group of beta-testers. Also fixed a code logic error which sometimes allowed the current front proccess to be displayed first when iniating the switching mechanism. One bug still exists, though. This is the fault of my compiler (CodeWarrior). Basically, a 65K memory block gets allocated in the system heap each time you open the control panel. This block never gets disposed. Therefore, do not open the control panel too often. I have reported this problem to MetroWerks and as soon as a fix is released, I will recompile and release an improved version.
v2.0.2: 10 February 1995: Well, the "extra memory block" problem was not a "bug" in the true sense of the word. MW pointed out to me how to dispose of it and this version now get's rid of all memory blocks it does not need.
v2.1.0: 27 Fenruary 1995: I tweeked the switching code a little. The current application will not be displayed until all the other applications have been cycled through at least once. I also added the options to set the display window font. Lessened the memory requirements of the control panel. Fixed a problem with the inability to shutdown.
v2.1.1: 1 March 1995: I got promoted to First Lieutenant today. I also tweeked the switching code a little more so it wouldn't show the same application twice in a row (as was the case with only 2 running applications).
v2.1.2: 31 August 1995: Updated my e-mail address. No changes to the control panel otherwise.
v2.1.3: 2 September 1995: Ooops! There was one internal change to v2.1.2 that I screwed up -- Program Switcher would not load. All is well now.
v2.1.4: 3 September 1995: Well, mark it down in the lessons learned book. All I was trying to do was update the e-mail address in v2.1.1 and recompile with a newwer version of CodeWarrior. Versions 2.1.2 and 2.1.3 were abortive attempts at doing this. Assuming my task at hand was trivial, I did not ensure that either version was fully functional before releasing them. Well, I put some time in this one and I have verified that it works at least as well as v2.1.1, and it has the updated e-mail address.
v2.1.5: 13 September 1995: Added the Kagi Shareware Register program to the archive. This allows credit card registrations.
v3.0.0: 5 October 1995: Added a whole multitude of features, including the ability to exclude certain applications, a “reversing” key, more options for the display window, and a “fat” init. This version was also a complete rewrite of the code for Program Switcher. It’s “hackish” roots are gone and it is now a fully polished product.